package com.grad.why.studentsystem.mapper;

import com.grad.why.studentsystem.domain.*;
import com.grad.why.studentsystem.domain.current.CurrentTeacher;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TeacherMapper {
    int countByExample(TeacherExample example);

    int deleteByExample(TeacherExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Teacher record);

    int insertSelective(Teacher record);

    List<Teacher> selectByExample(TeacherExample example);

    Teacher selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Teacher record, @Param("example") TeacherExample example);

    int updateByExample(@Param("record") Teacher record, @Param("example") TeacherExample example);

    int updateByPrimaryKeySelective(Teacher record);

    int updateByPrimaryKey(Teacher record);

    List<CurrentTeacher> getTeacherList(@Param("offset") int offset, @Param("limit") int limit, @Param("sort") String sort, @Param("search") String search);

    long getTeacherListLength(@Param("search") String search);

    List<Teacherposition> getTeacherPosition();

    List<Workrole> getWorkRoles();

    Integer getMaxId();

    List<Teacher> getTeacherInfos();

    Teacher getTeacherInfoByCourseId(@Param("cid") int cid);

    Integer getTeacherIdByTeacherName(@Param("teacherName") String teacherName);
}